using EYDIngenieria.ERP.ObjetosDeNegocio.Dominio;
using Castle.ActiveRecord;

namespace EYDIngenieria.ERP.ObjetosDeNegocio.Repositorio
{
    public class RepositorioDetalleCotizacion
    {
        private RepositorioCotizacion repositorioCotizacion = new RepositorioCotizacion();
        public void Agregar(DetalleCotizacion c)
        {
            c.Create();
        }

        public DetalleCotizacion[] Listar()
        {
            return ActiveRecordBase<DetalleCotizacion>.FindAll();
        }

        public void Modificar(DetalleCotizacion c)
        {
            c.UpdateAndFlush();
        }

        public void Eliminar(DetalleCotizacion c)
        {
            c.DeleteAndFlush();
        }

        public DetalleCotizacion[] Obtener(Cotizacion c)
        {
            return ActiveRecordBase<DetalleCotizacion>.FindAllByProperty("Cotizacion", "Cotizacion", c);
        }

        public DetalleCotizacion[] ObtenerDetalleDeCotizacion(int id)
        {
            DetalleCotizacion[] listado;
            if(id==0)
            {
                listado  = new DetalleCotizacion[1];
                listado[0] = new DetalleCotizacion();
                return listado;
            }
            Cotizacion c = repositorioCotizacion.Obtener(id);
            listado = Obtener(c);
            return listado;
        }

        public DetalleCotizacion Obtener(int id)
        {
            return DetalleCotizacion.Find(id);
        }

    }
}
